What is is-core-module?
The is-core-module package is a simple utility that allows developers to check if a given module name corresponds to a Node.js core module. Core modules are modules that are included with Node.js itself, such as 'http', 'fs', and 'path'. This package is particularly useful when building tools that need to differentiate between core modules and third-party modules.
What are is-core-module's main functionalities?
Check if a module is a core module
This feature allows you to check if a string corresponds to a Node.js core module. It returns true if the module is a core module, and false otherwise.
const isCoreModule = require('is-core-module');
console.log(isCoreModule('fs')); // true
console.log(isCoreModule('express')); // false
Check if a module is a core module with a specific Node.js version
This feature allows you to check if a module is a core module in a specific version of Node.js. This is useful when dealing with different Node.js versions that may have different sets of core modules.
const isCoreModule = require('is-core-module');
console.log(isCoreModule('fs', { version: '8.0.0' })); // true
console.log(isCoreModule('http2', { version: '8.0.0' })); // false
Other packages similar to is-core-module
builtin-modules
The builtin-modules package provides a list of the Node.js built-in modules. It is similar to is-core-module in that it helps identify core modules, but instead of checking a module name, it provides the full list of built-in modules for direct use.
resolve
The resolve package is a more complex module resolution library that can be used to resolve the path of a module like require.resolve does. It can also be used to check if a module is a core module by resolving its path and checking if it is null, which would indicate a core module. It offers more features than is-core-module but can be used for a similar purpose in some cases.